import Vue from 'vue'
import Vuex from 'vuex'
import {getItem,setItem} from '@/utils/storage.js'
Vue.use(Vuex)

// 这样做的目的可以避免访问和获取数据的名字不一致导致的问题
const USER_KEY = 'TOUTIAO_USER'

export default new Vuex.Store({
  state: {
    // 当前用户登录的状态
    // user:JSON.parse(window.localStorage.getItem('user'))
    user:getItem(USER_KEY),
    cachePages:['LoginIndex']
  },
  mutations: {
    setUser(state,data){
      state.user=data

      setItem(USER_KEY,state.user)

      // 为了防止页面刷新数据丢失，将其数据保存到本地存储，为了数据持久性
      // window.localStorage.setItem('user',JSON.stringify(state.user))
    },
    // 添加缓存页面
    addCachePage(state,pageName){
     if(!state.cachePages.includes(pageName)){
       state.cachePages.push(pageName)
     }
    },
    // 移除缓存页面
    removeCachePage(state,pageName){
          const index=state.cachePages.indexOf(pageName)
          if(index!==-1){
            state.cachePages.splice(index,1)
          }
    }
  },
  actions: {
  },
  modules: {
  }
})
